[INFO] cloning repository https://github.com/bollu/equinox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bollu/equinox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbollu%2Fequinox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbollu%2Fequinox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f8874dd0cff8bd044e31e8c0638e78c88cc8a5b
[INFO] checking bollu/equinox against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbollu%2Fequinox" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/bollu/equinox on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/bollu/equinox
[INFO] finished tweaking git repo https://github.com/bollu/equinox
[INFO] tweaked toml for git repo https://github.com/bollu/equinox written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/bollu/equinox already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded csfml-window-sys v0.2.0
[INFO] [stderr]   Downloaded csfml-audio-sys v0.2.0
[INFO] [stderr]   Downloaded csfml-system-sys v0.2.1
[INFO] [stderr]   Downloaded sfml-build v0.1.0
[INFO] [stderr]   Downloaded csfml-graphics-sys v0.3.0
[INFO] [stderr]   Downloaded sfml v0.12.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b8836bc53cfe34968b1ac09955da31c163fbaaa6e394e84f9340a457aae54a53
[INFO] running `Command { std: "docker" "start" "-a" "b8836bc53cfe34968b1ac09955da31c163fbaaa6e394e84f9340a457aae54a53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b8836bc53cfe34968b1ac09955da31c163fbaaa6e394e84f9340a457aae54a53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8836bc53cfe34968b1ac09955da31c163fbaaa6e394e84f9340a457aae54a53", kill_on_drop: false }`
[INFO] [stdout] b8836bc53cfe34968b1ac09955da31c163fbaaa6e394e84f9340a457aae54a53
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f741478915aa0f5b05e992961d4add5451e04cc1789dbe2e2a8f98a571da71c9
[INFO] running `Command { std: "docker" "start" "-a" "f741478915aa0f5b05e992961d4add5451e04cc1789dbe2e2a8f98a571da71c9", kill_on_drop: false }`
[INFO] [stderr]    Compiling sfml-build v0.1.0
[INFO] [stderr]     Checking num-traits v0.1.37
[INFO] [stderr]     Checking libc v0.2.21
[INFO] [stderr]     Checking rustc-serialize v0.3.23
[INFO] [stderr]     Checking bitflags v0.5.0
[INFO] [stderr]    Compiling csfml-system-sys v0.2.1
[INFO] [stderr]    Compiling csfml-window-sys v0.2.0
[INFO] [stderr]    Compiling csfml-audio-sys v0.2.0
[INFO] [stderr]    Compiling csfml-graphics-sys v0.3.0
[INFO] [stderr]     Checking rand v0.3.15
[INFO] [stderr]     Checking num-integer v0.1.34
[INFO] [stderr]     Checking num-iter v0.1.33
[INFO] [stderr]     Checking sfml v0.12.0
[INFO] [stderr]     Checking num-bigint v0.1.37
[INFO] [stderr]     Checking num-complex v0.1.37
[INFO] [stderr]     Checking num-rational v0.1.36
[INFO] [stderr]     Checking num v0.1.37
[INFO] [stderr]     Checking equinox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::collections;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::settings::Settings`
[INFO] [stdout]  --> src/engine/state.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use engine::settings::Settings;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StateData`
[INFO] [stdout]  --> src/game/main_menu.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game/main_menu.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use game;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StateData`
[INFO] [stdout]  --> src/game/slot_select_menu.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game/slot_select_menu.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use game;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec::Vec`
[INFO] [stdout]  --> src/game/level.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]  --> src/game/savefile.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(RustcEncodable, RustcDecodable)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]  --> src/game/savefile.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(RustcEncodable, RustcDecodable)]
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::collections;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::settings::Settings`
[INFO] [stdout]  --> src/engine/state.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use engine::settings::Settings;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StateData`
[INFO] [stdout]  --> src/game/main_menu.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game/main_menu.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use game;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StateData`
[INFO] [stdout]  --> src/game/slot_select_menu.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game/slot_select_menu.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use game;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec::Vec`
[INFO] [stdout]  --> src/game/level.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]  --> src/game/savefile.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(RustcEncodable, RustcDecodable)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]  --> src/game/savefile.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(RustcEncodable, RustcDecodable)]
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `keyboard` should have an upper camel case name
[INFO] [stdout]  --> src/heart/game_event_layer.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type keyboard = Key;
[INFO] [stdout]   |      ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyboard`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/event_queue.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 |     handlers: VecDeque<&'a mut EventHandler>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     handlers: VecDeque<&'a mut dyn EventHandler>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/rendering.rs:76:29
[INFO] [stdout]    |
[INFO] [stdout] 76 |     renderers: VecDeque<&'a Drawable>,
[INFO] [stdout]    |                             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     renderers: VecDeque<&'a dyn Drawable>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `keyboard` should have an upper camel case name
[INFO] [stdout]  --> src/heart/game_event_layer.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type keyboard = Key;
[INFO] [stdout]   |      ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyboard`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/event_queue.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 |     handlers: VecDeque<&'a mut EventHandler>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     handlers: VecDeque<&'a mut dyn EventHandler>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/state.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |     states: HashMap<StateId, Box<State>>,
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     states: HashMap<StateId, Box<dyn State>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/rendering.rs:76:29
[INFO] [stdout]    |
[INFO] [stdout] 76 |     renderers: VecDeque<&'a Drawable>,
[INFO] [stdout]    |                             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     renderers: VecDeque<&'a dyn Drawable>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/state.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |     states: HashMap<StateId, Box<State>>,
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     states: HashMap<StateId, Box<dyn State>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/event_queue.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn push(&mut self, handler: &'a mut EventHandler) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn push(&mut self, handler: &'a mut dyn EventHandler) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/rendering.rs:88:42
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn push(&mut self, renderer: &'a Drawable) {
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn push(&mut self, renderer: &'a dyn Drawable) {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/state.rs:69:57
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn add_state(&mut self, id: StateId, state: Box<State>) {
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn add_state(&mut self, id: StateId, state: Box<dyn State>) {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine/state.rs:113:59
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn get_current_state<'a>(&'a mut self) -> &'a mut Box<State> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn get_current_state<'a>(&'a mut self) -> &'a mut Box<dyn State> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/event_queue.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn push(&mut self, handler: &'a mut EventHandler) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn push(&mut self, handler: &'a mut dyn EventHandler) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/rendering.rs:88:42
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn push(&mut self, renderer: &'a Drawable) {
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn push(&mut self, renderer: &'a dyn Drawable) {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/state.rs:69:57
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn add_state(&mut self, id: StateId, state: Box<State>) {
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn add_state(&mut self, id: StateId, state: Box<dyn State>) {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine/state.rs:113:59
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn get_current_state<'a>(&'a mut self) -> &'a mut Box<State> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn get_current_state<'a>(&'a mut self) -> &'a mut Box<dyn State> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `VecDeque` in the current scope
[INFO] [stdout]   --> src/engine/event_queue.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |         for handler in self.handlers.mut_iter() {
[INFO] [stdout]    |                                      ^^^^^^^^ help: there is a method with a similar name: `iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_init` found for struct `VideoMode` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let videoMode = VideoMode::new_init(width, height, 32);
[INFO] [stdout]    |                                    ^^^^^^^^ function or associated item not found in `VideoMode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `FULLSCREEN` found for struct `Style` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |             Style::FULLSCREEN
[INFO] [stdout]    |                    ^^^^^^^^^^ associated item not found in `Style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `CLOSE` found for struct `Style` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Style::CLOSE
[INFO] [stdout]    |                    ^^^^^ associated item not found in `Style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/rendering.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Window { window: RenderWindow::new(videoMode, title, style, &setting).unwrap() }
[INFO] [stdout]    |                          -----------------            ^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/render_window.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(mode: VideoMode,
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Window { window: RenderWindow::new(videoMode, &title, style, &setting).unwrap() }
[INFO] [stdout]    |                                                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `VecDeque` in the current scope
[INFO] [stdout]   --> src/engine/event_queue.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |         for handler in self.handlers.mut_iter() {
[INFO] [stdout]    |                                      ^^^^^^^^ help: there is a method with a similar name: `iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_init` found for struct `VideoMode` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let videoMode = VideoMode::new_init(width, height, 32);
[INFO] [stdout]    |                                    ^^^^^^^^ function or associated item not found in `VideoMode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `FULLSCREEN` found for struct `Style` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |             Style::FULLSCREEN
[INFO] [stdout]    |                    ^^^^^^^^^^ associated item not found in `Style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `CLOSE` found for struct `Style` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Style::CLOSE
[INFO] [stdout]    |                    ^^^^^ associated item not found in `Style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/rendering.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Window { window: RenderWindow::new(videoMode, title, style, &setting).unwrap() }
[INFO] [stdout]    |                          -----------------            ^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/render_window.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(mode: VideoMode,
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Window { window: RenderWindow::new(videoMode, &title, style, &setting).unwrap() }
[INFO] [stdout]    |                                                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/rendering.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn poll(&mut self) -> Event {
[INFO] [stdout]    |                               ----- expected `Event` because of return type
[INFO] [stdout] 36 |         self.window.poll_event()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Event`, found `Option<Event>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Event`
[INFO] [stdout]               found enum `Option<Event>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clear` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |         self.window.clear(&clear_color);
[INFO] [stdout]    |                     ^^^^^ method not found in `RenderWindow`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/render_target.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self, color: &Color);
[INFO] [stdout]    |        ----- the method is available for `RenderWindow` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 3  + use sfml::graphics::RenderTarget;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/rendering.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn poll(&mut self) -> Event {
[INFO] [stdout]    |                               ----- expected `Event` because of return type
[INFO] [stdout] 36 |         self.window.poll_event()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Event`, found `Option<Event>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Event`
[INFO] [stdout]               found enum `Option<Event>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clear` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |         self.window.clear(&clear_color);
[INFO] [stdout]    |                     ^^^^^ method not found in `RenderWindow`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/render_target.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self, color: &Color);
[INFO] [stdout]    |        ----- the method is available for `RenderWindow` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 3  + use sfml::graphics::RenderTarget;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.window.get_size().x as usize
[INFO] [stdout]    |                     ^^^^^^^^ help: there is a method with a similar name: `set_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.window.get_size().x as usize
[INFO] [stdout]    |                     ^^^^^^^^ help: there is a method with a similar name: `set_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |         self.window.get_size().y as usize
[INFO] [stdout]    |                     ^^^^^^^^ help: there is a method with a similar name: `set_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |         self.window.get_size().y as usize
[INFO] [stdout]    |                     ^^^^^^^^ help: there is a method with a similar name: `set_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let size = self.window.get_size();
[INFO] [stdout]    |                                ^^^^^^^^ help: there is a method with a similar name: `set_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_RGB` found for struct `Color` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 |             clear_color: Color::new_RGB(0, 0, 20),
[INFO] [stdout]    |                                 ^^^^^^^ function or associated item not found in `Color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let size = self.window.get_size();
[INFO] [stdout]    |                                ^^^^^^^^ help: there is a method with a similar name: `set_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_RGB` found for struct `Color` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 |             clear_color: Color::new_RGB(0, 0, 20),
[INFO] [stdout]    |                                 ^^^^^^^ function or associated item not found in `Color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw_in_render_window` found for reference `&&dyn Drawable` in the current scope
[INFO] [stdout]    --> src/engine/rendering.rs:103:22
[INFO] [stdout]     |
[INFO] [stdout] 103 |             renderer.draw_in_render_window(render_window);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^ method not found in `&&dyn Drawable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw_in_render_window` found for reference `&&dyn Drawable` in the current scope
[INFO] [stdout]    --> src/engine/rendering.rs:103:22
[INFO] [stdout]     |
[INFO] [stdout] 103 |             renderer.draw_in_render_window(render_window);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^ method not found in `&&dyn Drawable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `find` found for struct `HashMap` in the current scope
[INFO] [stdout]   --> src/engine/resource_loader.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |         match self.resources.find(key) {
[INFO] [stdout]    |                              ^^^^ method not found in `HashMap<String, Resource>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `find` found for struct `HashMap` in the current scope
[INFO] [stdout]   --> src/engine/resource_loader.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |         match self.resources.find(key) {
[INFO] [stdout]    |                              ^^^^ method not found in `HashMap<String, Resource>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/engine/state.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn get_current_state<'a>(&'a mut self) -> &'a mut Box<State> {
[INFO] [stdout]     |                                               ------------------ expected `&'a mut Box<(dyn state::State + 'static)>` because of return type
[INFO] [stdout] 114 |         self.states.get_mut(&self.current_id)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Box<dyn State>`, found `Option<&mut Box<dyn State>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&'a mut Box<(dyn state::State + 'static)>`
[INFO] [stdout]                             found enum `Option<&mut Box<(dyn state::State + 'static)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/engine/state.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn get_current_state<'a>(&'a mut self) -> &'a mut Box<State> {
[INFO] [stdout]     |                                               ------------------ expected `&'a mut Box<(dyn state::State + 'static)>` because of return type
[INFO] [stdout] 114 |         self.states.get_mut(&self.current_id)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Box<dyn State>`, found `Option<&mut Box<dyn State>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&'a mut Box<(dyn state::State + 'static)>`
[INFO] [stdout]                             found enum `Option<&mut Box<(dyn state::State + 'static)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/engine/settings.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(settings_path_raw: &str) -> Settings {
[INFO] [stdout]    |                                            ^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: the return type of a function must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_to_str` found for enum `Result` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let contents = File::open(&path).read_to_str().unwrap();
[INFO] [stdout]    |                                              ^^^^^^^^^^^ method not found in `Result<File, Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/engine/settings.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(settings_path_raw: &str) -> Settings {
[INFO] [stdout]    |                                            ^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: the return type of a function must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/settings.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 settings_path: path,
[INFO] [stdout]    |                                ^^^^ expected `Path`, found `&Path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/engine/settings.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 | /             Settings {
[INFO] [stdout] 35 | |                 settings_path: path,
[INFO] [stdout] 36 | |                 key_value_pair: key_value_pair,
[INFO] [stdout] 37 | |             }
[INFO] [stdout]    | |_____________^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: structs must have a statically known size to be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/settings.rs:42:32
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 settings_path: path,
[INFO] [stdout]    |                                ^^^^ expected `Path`, found `&Path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/engine/settings.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | /             Settings {
[INFO] [stdout] 42 | |                 settings_path: path,
[INFO] [stdout] 43 | |                 key_value_pair: key_value_pair,
[INFO] [stdout] 44 | |             }
[INFO] [stdout]    | |_____________^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: structs must have a statically known size to be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_to_str` found for enum `Result` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let contents = File::open(&path).read_to_str().unwrap();
[INFO] [stdout]    |                                              ^^^^^^^^^^^ method not found in `Result<File, Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/settings.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 settings_path: path,
[INFO] [stdout]    |                                ^^^^ expected `Path`, found `&Path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/engine/settings.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 | /             Settings {
[INFO] [stdout] 35 | |                 settings_path: path,
[INFO] [stdout] 36 | |                 key_value_pair: key_value_pair,
[INFO] [stdout] 37 | |             }
[INFO] [stdout]    | |_____________^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: structs must have a statically known size to be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `find_or_insert` found for struct `HashMap` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:49:36
[INFO] [stdout]    |
[INFO] [stdout] 49 |         return self.key_value_pair.find_or_insert(name, default_value);
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^ method not found in `HashMap<String, Setting>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/settings.rs:42:32
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 settings_path: path,
[INFO] [stdout]    |                                ^^^^ expected `Path`, found `&Path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/engine/settings.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | /             Settings {
[INFO] [stdout] 42 | |                 settings_path: path,
[INFO] [stdout] 43 | |                 key_value_pair: key_value_pair,
[INFO] [stdout] 44 | |             }
[INFO] [stdout]    | |_____________^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: structs must have a statically known size to be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `find_or_insert` found for struct `HashMap` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:49:36
[INFO] [stdout]    |
[INFO] [stdout] 49 |         return self.key_value_pair.find_or_insert(name, default_value);
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^ method not found in `HashMap<String, Setting>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `char_at` found for reference `&str` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |         match name.char_at(0) {
[INFO] [stdout]    |                    ^^^^^^^ help: there is a method with a similar name: `chars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `isize` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let value = isize::from_str(valueStr).unwrap();
[INFO] [stdout]    |                                    ^^^^^^^^ function or associated item not found in `isize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let value = isize::from_str_radix(valueStr).unwrap();
[INFO] [stdout]    |                                    ~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:62:34
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let value = f32::from_str(valueStr).unwrap();
[INFO] [stdout]    |                                  ^^^^^^^^ function or associated item not found in `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:73:35
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 let float1 = f32::from_str(*floatPair.get(0)).unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^ function or associated item not found in `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced
[INFO] [stdout]   --> src/engine/settings.rs:73:44
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 let float1 = f32::from_str(*floatPair.get(0)).unwrap();
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `char_at` found for reference `&str` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |         match name.char_at(0) {
[INFO] [stdout]    |                    ^^^^^^^ help: there is a method with a similar name: `chars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let float2 = f32::from_str(*floatPair.get(1)).unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^ function or associated item not found in `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced
[INFO] [stdout]   --> src/engine/settings.rs:74:44
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let float2 = f32::from_str(*floatPair.get(1)).unwrap();
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `isize` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let value = isize::from_str(valueStr).unwrap();
[INFO] [stdout]    |                                    ^^^^^^^^ function or associated item not found in `isize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let value = isize::from_str_radix(valueStr).unwrap();
[INFO] [stdout]    |                                    ~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:62:34
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let value = f32::from_str(valueStr).unwrap();
[INFO] [stdout]    |                                  ^^^^^^^^ function or associated item not found in `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:73:35
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 let float1 = f32::from_str(*floatPair.get(0)).unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^ function or associated item not found in `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced
[INFO] [stdout]   --> src/engine/settings.rs:73:44
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 let float1 = f32::from_str(*floatPair.get(0)).unwrap();
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let float2 = f32::from_str(*floatPair.get(1)).unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^ function or associated item not found in `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced
[INFO] [stdout]   --> src/engine/settings.rs:74:44
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let float2 = f32::from_str(*floatPair.get(1)).unwrap();
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option` in the current scope
[INFO] [stdout]    --> src/engine/settings.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let name = dataPair.get(0).trim();
[INFO] [stdout]     |                                        ^^^^ method not found in `Option<&&str>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `trim` exists on the type `&&str`
[INFO] [stdout]    --> /rustc/9610dfe5a9a731ced1ea4923ecbd0c57fe367898/library/core/src/str/mod.rs:1860:5
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `&&str` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let name = dataPair.get(0).expect("REASON").trim();
[INFO] [stdout]     |                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option` in the current scope
[INFO] [stdout]    --> src/engine/settings.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let name = dataPair.get(0).trim();
[INFO] [stdout]     |                                        ^^^^ method not found in `Option<&&str>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `trim` exists on the type `&&str`
[INFO] [stdout]    --> /rustc/9610dfe5a9a731ced1ea4923ecbd0c57fe367898/library/core/src/str/mod.rs:1860:5
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `&&str` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let name = dataPair.get(0).expect("REASON").trim();
[INFO] [stdout]     |                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option` in the current scope
[INFO] [stdout]    --> src/engine/settings.rs:102:44
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let valueStr = dataPair.get(1).trim();
[INFO] [stdout]     |                                            ^^^^ method not found in `Option<&&str>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `trim` exists on the type `&&str`
[INFO] [stdout]    --> /rustc/9610dfe5a9a731ced1ea4923ecbd0c57fe367898/library/core/src/str/mod.rs:1860:5
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `&&str` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let valueStr = dataPair.get(1).expect("REASON").trim();
[INFO] [stdout]     |                                           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option` in the current scope
[INFO] [stdout]    --> src/engine/settings.rs:102:44
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let valueStr = dataPair.get(1).trim();
[INFO] [stdout]     |                                            ^^^^ method not found in `Option<&&str>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `trim` exists on the type `&&str`
[INFO] [stdout]    --> /rustc/9610dfe5a9a731ced1ea4923ecbd0c57fe367898/library/core/src/str/mod.rs:1860:5
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `&&str` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let valueStr = dataPair.get(1).expect("REASON").trim();
[INFO] [stdout]     |                                           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private
[INFO] [stdout]   --> src/game/main_menu.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let render_dim = render_ctx.viewport_dim;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private
[INFO] [stdout]   --> src/game/main_menu.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let render_dim = render_ctx.viewport_dim;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text` in the current scope
[INFO] [stdout]   --> src/game/main_menu.rs:48:70
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut banner = Text::new_init("equinox", font, font_size_banner).unwrap();
[INFO] [stdout]    |                                                                            ^^^^^^ method not found in `Text<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text` in the current scope
[INFO] [stdout]   --> src/game/main_menu.rs:48:70
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut banner = Text::new_init("equinox", font, font_size_banner).unwrap();
[INFO] [stdout]    |                                                                            ^^^^^^ method not found in `Text<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec<MenuItem<'a, MenuItemTag>>` in the current scope
[INFO] [stdout]    --> src/game/main_menu.rs:114:31
[INFO] [stdout]     |
[INFO] [stdout] 114 |         for item in self.menu_items.mut_iter() {
[INFO] [stdout]     |                                     ^^^^^^^^ help: there is a method with a similar name: `iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:115:39
[INFO] [stdout]     |
[INFO] [stdout] 115 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:115:55
[INFO] [stdout]     |
[INFO] [stdout] 115 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                             ^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:117:58
[INFO] [stdout]     |
[INFO] [stdout] 117 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:117:74
[INFO] [stdout]     |
[INFO] [stdout] 117 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec<MenuItem<'a, MenuItemTag>>` in the current scope
[INFO] [stdout]    --> src/game/main_menu.rs:114:31
[INFO] [stdout]     |
[INFO] [stdout] 114 |         for item in self.menu_items.mut_iter() {
[INFO] [stdout]     |                                     ^^^^^^^^ help: there is a method with a similar name: `iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private
[INFO] [stdout]   --> src/game/slot_select_menu.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let render_dim = render_ctx.viewport_dim;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:115:39
[INFO] [stdout]     |
[INFO] [stdout] 115 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:115:55
[INFO] [stdout]     |
[INFO] [stdout] 115 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 if save_exists(save_path) {
[INFO] [stdout]    |                    ----------- ^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/game/savefile.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn save_exists(path: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^ ----------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 if save_exists(&save_path) {
[INFO] [stdout]    |                                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                             ^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:117:58
[INFO] [stdout]     |
[INFO] [stdout] 117 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     read_save_from_disk(save_path)
[INFO] [stdout]    |                     ------------------- ^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/game/savefile.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn read_save_from_disk(path: &str) -> Savefile {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^ ----------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     read_save_from_disk(&save_path)
[INFO] [stdout]    |                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:117:74
[INFO] [stdout]     |
[INFO] [stdout] 117 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private
[INFO] [stdout]   --> src/game/slot_select_menu.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let render_dim = render_ctx.viewport_dim;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 if save_exists(save_path) {
[INFO] [stdout]    |                    ----------- ^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/game/savefile.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn save_exists(path: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^ ----------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 if save_exists(&save_path) {
[INFO] [stdout]    |                                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     read_save_from_disk(save_path)
[INFO] [stdout]    |                     ------------------- ^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/game/savefile.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn read_save_from_disk(path: &str) -> Savefile {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^ ----------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     read_save_from_disk(&save_path)
[INFO] [stdout]    |                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     write_save_to_disk(&save, save_path);
[INFO] [stdout]    |                     ------------------        ^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/game/savefile.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn write_save_to_disk(save: &Savefile, path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^                  ----------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     write_save_to_disk(&save, &save_path);
[INFO] [stdout]    |                                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     write_save_to_disk(&save, save_path);
[INFO] [stdout]    |                     ------------------        ^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/game/savefile.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn write_save_to_disk(save: &Savefile, path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^                  ----------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     write_save_to_disk(&save, &save_path);
[INFO] [stdout]    |                                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_str` found for type `isize` in the current scope
[INFO] [stdout]   --> src/game/slot_select_menu.rs:55:31
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let name = "slot " + index.to_str();
[INFO] [stdout]    |                                        ^^^^^^ method not found in `isize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_str` found for type `isize` in the current scope
[INFO] [stdout]   --> src/game/slot_select_menu.rs:55:31
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let name = "slot " + index.to_str();
[INFO] [stdout]    |                                        ^^^^^^ method not found in `isize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `open` of struct `Savefile` is private
[INFO] [stdout]   --> src/game/slot_select_menu.rs:57:28
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let color = if savefile.open {
[INFO] [stdout]    |                                     ^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time
[INFO] [stdout]   --> src/game/slot_select_menu.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let name = "slot " + index.to_str();
[INFO] [stdout]    |                 ^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `str`
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout]    = help: unsized locals are gated as an unstable feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:64:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |             let mut item = MenuItem::new(index, name, font, font_size_menu, &colors::white, &color);
[INFO] [stdout]    |                            -------------        ^^^^ expected `&str`, found `str`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/game/ui.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn new(data: T, label: &str, font: &'a Font, font_size: usize, text_color: &Color, back_color: &Color) -> MenuItem<'a, T> {
[INFO] [stdout]    |            ^^^          -----------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 64 |             let mut item = MenuItem::new(index, &name, font, font_size_menu, &colors::white, &color);
[INFO] [stdout]    |                                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `open` of struct `Savefile` is private
[INFO] [stdout]   --> src/game/slot_select_menu.rs:57:28
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let color = if savefile.open {
[INFO] [stdout]    |                                     ^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time
[INFO] [stdout]   --> src/game/slot_select_menu.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let name = "slot " + index.to_str();
[INFO] [stdout]    |                 ^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `str`
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout]    = help: unsized locals are gated as an unstable feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:64:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |             let mut item = MenuItem::new(index, name, font, font_size_menu, &colors::white, &color);
[INFO] [stdout]    |                            -------------        ^^^^ expected `&str`, found `str`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/game/ui.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn new(data: T, label: &str, font: &'a Font, font_size: usize, text_color: &Color, back_color: &Color) -> MenuItem<'a, T> {
[INFO] [stdout]    |            ^^^          -----------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 64 |             let mut item = MenuItem::new(index, &name, font, font_size_menu, &colors::white, &color);
[INFO] [stdout]    |                                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec<MenuItem<'a, isize>>` in the current scope
[INFO] [stdout]    --> src/game/slot_select_menu.rs:102:31
[INFO] [stdout]     |
[INFO] [stdout] 102 |         for item in self.menu_items.mut_iter() {
[INFO] [stdout]     |                                     ^^^^^^^^ help: there is a method with a similar name: `iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:103:39
[INFO] [stdout]     |
[INFO] [stdout] 103 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:103:55
[INFO] [stdout]     |
[INFO] [stdout] 103 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:105:20
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                             ^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:105:58
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:105:74
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec<MenuItem<'a, isize>>` in the current scope
[INFO] [stdout]    --> src/game/slot_select_menu.rs:102:31
[INFO] [stdout]     |
[INFO] [stdout] 102 |         for item in self.menu_items.mut_iter() {
[INFO] [stdout]     |                                     ^^^^^^^^ help: there is a method with a similar name: `iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:103:39
[INFO] [stdout]     |
[INFO] [stdout] 103 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:103:55
[INFO] [stdout]     |
[INFO] [stdout] 103 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:105:20
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                             ^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/ui.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut text = Text::new_init(label, font, font_size).unwrap();
[INFO] [stdout]    |                        --------------              ^^^^^^^^^ expected `u32`, found `usize`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/text.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn new_init(string: &str, font: &'s Font, character_size: u32) -> Text<'s> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: you can convert a `usize` to a `u32` and panic if the converted value doesn't fit
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut text = Text::new_init(label, font, font_size.try_into().unwrap()).unwrap();
[INFO] [stdout]    |                                                             ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:105:58
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:105:74
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/ui.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut text = Text::new_init(label, font, font_size).unwrap();
[INFO] [stdout]    |                        --------------              ^^^^^^^^^ expected `u32`, found `usize`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/text.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn new_init(string: &str, font: &'s Font, character_size: u32) -> Text<'s> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: you can convert a `usize` to a `u32` and panic if the converted value doesn't fit
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut text = Text::new_init(label, font, font_size.try_into().unwrap()).unwrap();
[INFO] [stdout]    |                                                             ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:33:57
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut text = Text::new_init(label, font, font_size).unwrap();
[INFO] [stdout]    |                                                               ^^^^^^ method not found in `Text<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:33:57
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut text = Text::new_init(label, font, font_size).unwrap();
[INFO] [stdout]    |                                                               ^^^^^^ method not found in `Text<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut back = RectangleShape::new().unwrap();
[INFO] [stdout]    |                                              ^^^^^^ method not found in `RectangleShape<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut back = RectangleShape::new().unwrap();
[INFO] [stdout]    |                                              ^^^^^^ method not found in `RectangleShape<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_local_bounds` found for struct `Text` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:51:50
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let text_y = y + item_height * 0.5 - self.text.get_local_bounds().height;
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^ help: there is a method with a similar name: `local_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `Text` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         self.text.set_position2f(text_x, text_y);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ method not found in `Text<'a>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/transformable.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn set_position2f(&mut self, x: f32, y: f32);
[INFO] [stdout]    |        -------------- the method is available for `Text<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use sfml::graphics::Transformable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         self.back.set_position2f(0 as f32, text_y);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/transformable.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn set_position2f(&mut self, x: f32, y: f32);
[INFO] [stdout]    |        -------------- the method is available for `RectangleShape<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use sfml::graphics::Transformable;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 56 |         self.back.set_size2f(0 as f32, text_y);
[INFO] [stdout]    |                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `alpha` on type `Color`
[INFO] [stdout]   --> src/game/ui.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         color.alpha = self.animator.val() as u8;
[INFO] [stdout]    |               ^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `r`, `g`, `b`, `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_fill_color` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         self.back.set_fill_color(&color);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/shape.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn set_fill_color(&mut self, color: &Color);
[INFO] [stdout]    |        -------------- the method is available for `RectangleShape<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use sfml::graphics::Shape;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_local_bounds` found for struct `Text` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:51:50
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let text_y = y + item_height * 0.5 - self.text.get_local_bounds().height;
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^ help: there is a method with a similar name: `local_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `Text` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         self.text.set_position2f(text_x, text_y);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ method not found in `Text<'a>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/transformable.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn set_position2f(&mut self, x: f32, y: f32);
[INFO] [stdout]    |        -------------- the method is available for `Text<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use sfml::graphics::Transformable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         self.back.set_position2f(0 as f32, text_y);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/transformable.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn set_position2f(&mut self, x: f32, y: f32);
[INFO] [stdout]    |        -------------- the method is available for `RectangleShape<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use sfml::graphics::Transformable;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 56 |         self.back.set_size2f(0 as f32, text_y);
[INFO] [stdout]    |                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `alpha` on type `Color`
[INFO] [stdout]   --> src/game/ui.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         color.alpha = self.animator.val() as u8;
[INFO] [stdout]    |               ^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `r`, `g`, `b`, `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_fill_color` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         self.back.set_fill_color(&color);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/shape.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn set_fill_color(&mut self, color: &Color);
[INFO] [stdout]    |        -------------- the method is available for `RectangleShape<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use sfml::graphics::Shape;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |         if self.back.get_global_bounds().contains(mouse_x,mouse_y) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |         if self.back.get_global_bounds().contains(mouse_x,mouse_y) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         self.back.get_global_bounds().contains(mouse_x,mouse_y)
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         self.back.get_global_bounds().contains(mouse_x,mouse_y)
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/game/savefile.rs:23:64
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut encoder = json::Encoder::new(&mut file as &mut Write);
[INFO] [stdout]    |                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut encoder = json::Encoder::new(&mut file as &mut dyn Write);
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/game/savefile.rs:23:64
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut encoder = json::Encoder::new(&mut file as &mut Write);
[INFO] [stdout]    |                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut encoder = json::Encoder::new(&mut file as &mut dyn Write);
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/game/savefile.rs:23:46
[INFO] [stdout]     |
[INFO] [stdout] 23  |         let mut encoder = json::Encoder::new(&mut file as &mut Write);
[INFO] [stdout]     |                           ------------------ ^^^^^^^^^^^^^^^^^^^^^^^ expected trait `std::fmt::Write`, found trait `std::io::Write`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut dyn std::fmt::Write`
[INFO] [stdout]                found mutable reference `&mut dyn std::io::Write`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rustc-serialize-0.3.23/src/json.rs:599:12
[INFO] [stdout]     |
[INFO] [stdout] 599 |     pub fn new(writer: &'a mut fmt::Write) -> Encoder<'a> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<File, std::io::Error>: std::io::Write` is not satisfied
[INFO] [stdout]   --> src/game/savefile.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut encoder = json::Encoder::new(&mut file as &mut Write);
[INFO] [stdout]    |                                              ^^^^^^^^^ the trait `std::io::Write` is not implemented for `Result<File, std::io::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for the cast from `&mut Result<File, std::io::Error>` to `&mut dyn std::io::Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/game/savefile.rs:23:46
[INFO] [stdout]     |
[INFO] [stdout] 23  |         let mut encoder = json::Encoder::new(&mut file as &mut Write);
[INFO] [stdout]     |                           ------------------ ^^^^^^^^^^^^^^^^^^^^^^^ expected trait `std::fmt::Write`, found trait `std::io::Write`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut dyn std::fmt::Write`
[INFO] [stdout]                found mutable reference `&mut dyn std::io::Write`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rustc-serialize-0.3.23/src/json.rs:599:12
[INFO] [stdout]     |
[INFO] [stdout] 599 |     pub fn new(writer: &'a mut fmt::Write) -> Encoder<'a> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<File, std::io::Error>: std::io::Write` is not satisfied
[INFO] [stdout]   --> src/game/savefile.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut encoder = json::Encoder::new(&mut file as &mut Write);
[INFO] [stdout]    |                                              ^^^^^^^^^ the trait `std::io::Write` is not implemented for `Result<File, std::io::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for the cast from `&mut Result<File, std::io::Error>` to `&mut dyn std::io::Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_to_end` found for enum `Result` in the current scope
[INFO] [stdout]   --> src/game/savefile.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let raw_data = file.read_to_end().unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^ method not found in `Result<File, Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json: Decodable` is not satisfied
[INFO] [stdout]    --> src/game/savefile.rs:35:20
[INFO] [stdout]     |
[INFO] [stdout] 35  |     let json_object = json::decode(json_str).unwrap();
[INFO] [stdout]     |                       ^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Decodable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T10, T11)
[INFO] [stdout]               (T11,)
[INFO] [stdout]               (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]             and 77 others
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::decode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rustc-serialize-0.3.23/src/json.rs:379:18
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn decode<T: ::Decodable>(s: &str) -> DecodeResult<T> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/savefile.rs:38:28
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let savefile : Savefile = Decodable::decode(&mut savefile_decoder);
[INFO] [stdout]    |                    --------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Savefile`, found `Result<_, DecoderError>`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected due to this
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Savefile`
[INFO] [stdout]                 found enum `Result<_, DecoderError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_from_file` found for struct `Font` in the current scope
[INFO] [stdout]   --> src/game/mod.rs:19:37
[INFO] [stdout]    |
[INFO] [stdout] 19 |      let obelix_font = graphics::Font::new_from_file("res/font/AlegreyaSansSC-Light.ttf").unwrap();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        function or associated item not found in `Font`
[INFO] [stdout]    |                                        help: there is an associated function with a similar name: `from_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_to_end` found for enum `Result` in the current scope
[INFO] [stdout]   --> src/game/savefile.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let raw_data = file.read_to_end().unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^ method not found in `Result<File, Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rustc_serialize::json::Json: Decodable` is not satisfied
[INFO] [stdout]    --> src/game/savefile.rs:35:20
[INFO] [stdout]     |
[INFO] [stdout] 35  |     let json_object = json::decode(json_str).unwrap();
[INFO] [stdout]     |                       ^^^^^^^^^^^^ the trait `Decodable` is not implemented for `rustc_serialize::json::Json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Decodable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T10, T11)
[INFO] [stdout]               (T11,)
[INFO] [stdout]               (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]             and 77 others
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::decode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rustc-serialize-0.3.23/src/json.rs:379:18
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn decode<T: ::Decodable>(s: &str) -> DecodeResult<T> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/savefile.rs:38:28
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let savefile : Savefile = Decodable::decode(&mut savefile_decoder);
[INFO] [stdout]    |                    --------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Savefile`, found `Result<_, DecoderError>`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected due to this
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Savefile`
[INFO] [stdout]                 found enum `Result<_, DecoderError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_from_file` found for struct `Font` in the current scope
[INFO] [stdout]   --> src/game/mod.rs:19:37
[INFO] [stdout]    |
[INFO] [stdout] 19 |      let obelix_font = graphics::Font::new_from_file("res/font/AlegreyaSansSC-Light.ttf").unwrap();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        function or associated item not found in `Font`
[INFO] [stdout]    |                                        help: there is an associated function with a similar name: `from_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `CircleShape` in the current scope
[INFO] [stdout]   --> src/heart/player.rs:69:51
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut render = CircleShape::new_init(32., 30).unwrap();
[INFO] [stdout]    |                                                         ^^^^^^ method not found in `CircleShape<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_position` found for struct `CircleShape` in the current scope
[INFO] [stdout]   --> src/heart/player.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |         self.render.set_position(&repr.get_position())
[INFO] [stdout]    |                     ^^^^^^^^^^^^ method not found in `CircleShape<'a>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/transformable.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn set_position(&mut self, position: &Vector2f);
[INFO] [stdout]    |        ------------ the method is available for `CircleShape<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use sfml::graphics::Transformable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout]    |                        ----------------------- ^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/engine/settings.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(settings_path_raw: &str) -> Settings {
[INFO] [stdout]    |            ^^^ -----------------------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]    |
[INFO] [stdout] 35 -     let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout] 35 +     let mut settings = settings::Settings::new("settings");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout]    |         ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout]    = help: unsized locals are gated as an unstable feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/main.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | /         loop {
[INFO] [stdout] 51 | |             let event = window.poll();
[INFO] [stdout] 52 | |
[INFO] [stdout] 53 | |             match event {
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |             }
[INFO] [stdout] 65 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 66 |
[INFO] [stdout] 67 |           let engine_state =  state_machine.tick(1.0 / 60.0, &mut event_queue, &mut render_queue);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/main.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |       let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout] ...
[INFO] [stdout] 49 | /     while window.is_open() {
[INFO] [stdout] 50 | |         loop {
[INFO] [stdout] 51 | |             let event = window.poll();
[INFO] [stdout] 52 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |         window.display();
[INFO] [stdout] 76 | |     }
[INFO] [stdout]    | |_____- this returned value is of type `()`
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: the return type of a function must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `CircleShape` in the current scope
[INFO] [stdout]   --> src/heart/player.rs:69:51
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut render = CircleShape::new_init(32., 30).unwrap();
[INFO] [stdout]    |                                                         ^^^^^^ method not found in `CircleShape<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_position` found for struct `CircleShape` in the current scope
[INFO] [stdout]   --> src/heart/player.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |         self.render.set_position(&repr.get_position())
[INFO] [stdout]    |                     ^^^^^^^^^^^^ method not found in `CircleShape<'a>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/sfml-0.12.0/src/graphics/transformable.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn set_position(&mut self, position: &Vector2f);
[INFO] [stdout]    |        ------------ the method is available for `CircleShape<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]    |
[INFO] [stdout] 1  + use sfml::graphics::Transformable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout]    |                        ----------------------- ^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/engine/settings.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(settings_path_raw: &str) -> Settings {
[INFO] [stdout]    |            ^^^ -----------------------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]    |
[INFO] [stdout] 35 -     let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout] 35 +     let mut settings = settings::Settings::new("settings");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout]    |         ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout]    = help: unsized locals are gated as an unstable feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/main.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | /         loop {
[INFO] [stdout] 51 | |             let event = window.poll();
[INFO] [stdout] 52 | |
[INFO] [stdout] 53 | |             match event {
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |             }
[INFO] [stdout] 65 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 66 |
[INFO] [stdout] 67 |           let engine_state =  state_machine.tick(1.0 / 60.0, &mut event_queue, &mut render_queue);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 73 previous errors; 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599, E0609, E0614, E0616.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/main.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |       let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout] ...
[INFO] [stdout] 49 | /     while window.is_open() {
[INFO] [stdout] 50 | |         loop {
[INFO] [stdout] 51 | |             let event = window.poll();
[INFO] [stdout] 52 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |         window.display();
[INFO] [stdout] 76 | |     }
[INFO] [stdout]    | |_____- this returned value is of type `()`
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: the return type of a function must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 73 previous errors; 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599, E0609, E0614, E0616.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `equinox` (bin "equinox") due to 74 previous errors; 19 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `equinox` (bin "equinox" test) due to 74 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f741478915aa0f5b05e992961d4add5451e04cc1789dbe2e2a8f98a571da71c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f741478915aa0f5b05e992961d4add5451e04cc1789dbe2e2a8f98a571da71c9", kill_on_drop: false }`
[INFO] [stdout] f741478915aa0f5b05e992961d4add5451e04cc1789dbe2e2a8f98a571da71c9
